package cn.com.zetatech.loader.common.message.obj;

import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import lombok.Data;

import java.io.Serializable;

@Data
public class FileLimitOptions implements Serializable {
    /**
     * 是否启用文件阈值设定
     */
    private Boolean enable = Boolean.FALSE;
    /**
     * 是否启用文件大小阈值设定
     */
    private Boolean fileSizeLimitEnable = Boolean.FALSE;
    /**
     * 文件大小，单位MB
     */
    private Long fileSizeLimitValue = -1L;
    /**
     * 是否启用文件defect数量阈值设定
     */
    private Boolean defectCountLimitEnable = Boolean.FALSE;
    /**
     * 文件defect数量
     */
    private Long defectCountLimitValue = -1L;

    public static FileLimitOptions fromJsonStr(String fileLimitOptions) {
        if (StrUtil.isBlank(fileLimitOptions)) {
            return new FileLimitOptions();
        }
        return JSONUtil.toBean(fileLimitOptions, FileLimitOptions.class,true);
    }
}
